#!/bin/bash

# 设置输出文件名
output_file="resources_monitor.csv"

# 获取当前时间的函数
get_current_time() {
    date "+%Y-%m-%d %H:%M:%S"
}

# 采集CPU使用率的函数
collect_cpu_usage() {
    top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}' | sed 's/%//'
}

# 采集内存使用率的函数
collect_memory_usage() {
#free -m | awk '/Mem:/ {print $3/$2 * 100.0}'
    free -m | awk '/Mem:/ {print $3/$2 * 100.0}' | awk '{printf "%.2f\n", $1}'
}

# 采集磁盘使用率的函数
collect_disk_usage() {
    df -h | grep "^/dev" | awk '{print $5}' | head -1
}

# 主循环
while true; do
    # 获取当前时间
    current_time=$(get_current_time)
    
    # 采集数据
    cpu_usage=$(collect_cpu_usage)
    memory_usage=$(collect_memory_usage)
    disk_usage=$(collect_disk_usage)
    
    # 将数据以英文逗号分割的方式追加到文件
    echo "${current_time},${cpu_usage}%,${memory_usage}%,${disk_usage}" >> "$output_file"
    
    # 等待60秒
    sleep 60
done
